#include <glib.h>

static int g_option_test(gint argc, gchar **argv)
{
    gboolean ret = -1;
    GError *error = NULL;
    GOptionContext *context = NULL;

    if(argc < 2) {
        g_print("Help: %s -h | -? | --help | --help-all \n", argv[0]);
        return -1;
    }

    context = g_option_context_new("< g_option_context_new argument parameter string >");

    g_option_context_set_summary (context, "context summary");
    g_option_context_set_description(context, "context description");

    ret = g_option_context_parse(context, &argc, &argv, &error);
    if(TRUE != ret) {
        g_print("option parse failed: %s \n", error->message);
        return -1;
    }

    g_option_context_free (context);

    return 0;
}

gint main(gint argc, gchar **argv)
{
    g_option_test(argc, argv);
    return 0;
}